const { searchType, searchTypeTotal, insertType, updateType, deleteType } = require('../service/type.service');

class TypeController {
  // 查询类型
  async search_type(ctx) {
    // 1、接收参数
    const { pageNum, pageSize } = ctx.request.body;
    try {
      const res = await searchType({pageNum, pageSize});
       // 查询总数
       const resTotal = await searchTypeTotal();
       let total = resTotal[0].total;

       // 3、返回数据
       ctx.body = {
        code: 200,
        data: {
          result: res,
          total: total
        },
        msg: "查询成功",
      }
    } catch(err) {
      console.log(err)
    }
  }

  // 新增类型
  async add_type(ctx) {
    // 1、接收参数
    const {type_name} = ctx.request.body;

    try {
      const res = await insertType({type_name});
       // 3、返回数据
      ctx.body = {
        code: 200,
        data: {},
        msg: "新增类型成功",
      }
    } catch(err) {
      console.log('新增类型报错====',err)
    }
  }
  // 修改类型
  async edit_type(ctx) {
    // 1、接收参数
    const {id, type_name} = ctx.request.body;

    try {
      const res = await updateType({id, type_name});
       // 3、返回数据
      ctx.body = {
        code: 200,
        data: {},
        msg: "修改类型成功",
      }
    } catch(err) {
      console.log(err)
    }
  }

   // 删除菜单
   async del_type(ctx) {
    // 1、接收参数
    const {id} = ctx.request.body;
    try {

      const res = await deleteType({id});

       // 3、返回数据
       ctx.body = {
        code: 200,
        data: {},
        msg: "删除类型成功",
      }
    } catch(err) {
      console.log(err)
    }
  }

}

module.exports = new TypeController()